跳到主要内容

1.8 异或门教程

本教程将介绍异或门(Ex OR Gate)。异或门(Exclusive OR Gate)是一种重要的数字逻辑门,与普通的或门(Inclusive OR Gate)不同,后者通常被称为常规或门。异或门有其独特的重要性。我们将学习异或门的符号、真值表,以及如何使用其他门(如与门、或门、与非门、或非门)来实现它。此外,我们还会介绍一些常见的异或门集成电路(IC)及其重要应用。

什么是异或门?

异或门,也称为 EX OR 门或 XOR 门,是一种重要的数字逻辑门,它实现了一种“独占或”逻辑,即只有当其中一个输入为高电平时,输出才为高电平。如果两个输入都是低电平或都是高电平,则输出为低电平。

异或门符号

定义电子元件通常遵循多种标准,我们一般采用 IEEE(电气和电子工程师协会)和 IEC(国际电工委员会)标准。

以下是 IEEE 和 IEC 标准中的异或门符号:

alt text

异或门的布尔表达式不能像与门、或门那样直接确定。由于它是一种复合门,其布尔表达式是通过对输入进行乘法、加法和反相运算组合得到的。我们需要结合真值表和卡诺图(Karnaugh Map,K - Map)来推导异或门的布尔表达式。

异或门真值表

异或门的真值表如下表所示。从表中可以看出,当两个输入相同时(无论是低电平还是高电平),异或门的输出为低电平,即逻辑“0”。

当两个输入不同时,它在输出端产生高电平,即逻辑“1”。

输入 A输入 B输出 Q
000
011
101
110

异或门真值表的卡诺图表示如下。

alt text

异或门布尔表达式

利用异或门的真值表和对应的卡诺图,我们可以推导出异或门的布尔表达式。如果 AABB 是异或门的输入,其输出表示为:

AB+ABA \cdot \overline{B} + \overline{A} \cdot B

异或门的输出也可以表示为:

ABA \oplus B

它还可以写成:

(A+B)(A+B)(A + B) \cdot (\overline{A} + \overline{B})

应用德摩根定律,上述异或门的布尔表达式也可以写成:

(A+B)(A+B)(\overline{A} + \overline{B}) \cdot (A + B)

异或门等效电路

异或门是一种具有 2 个输入的复合逻辑门,用于执行“独占析取”操作。根据上述计算,异或门的主要布尔表达式为:

AB+ABA \cdot \overline{B} + \overline{A} \cdot B

因此,使用与门、或门和非门设计的 2 输入异或门电路如下图所示。

alt text

只有当其中一个输入为高电平时,2 输入异或门的输出才为高电平。如果两个输入相同,则输出为低电平。

使用基本逻辑门实现异或门

如果某种特定的门无法直接获得,我们可以使用多个门来设计异或门。异或门可以通过使用基本逻辑门(如与非门和或非门)来设计,因为它们是通用门。

使用或非门实现异或门

现在我们来看看如何使用或非门实现异或门。为此,我们需要重新写一下上述异或门的布尔方程。

Q=AB+ABQ = A \cdot \overline{B} + \overline{A} \cdot B
Q=AB+AB+AA+BBQ = A \cdot \overline{B} + \overline{A} \cdot B + A \cdot \overline{A} + B \cdot \overline{B}
Q=(A+B)(A+B)Q = (A + B) \cdot (\overline{A} + \overline{B})
Q=(A+B)(A+B)=(A+B)(A+B)Q = (A + B) \cdot (\overline{A} + \overline{B}) = (\overline{A} + \overline{B}) \cdot (A + B)

对两边取反,得到:

Q=((A+B)(A+B))Q = ((\overline{A} + \overline{B}) \cdot (A + B))'

应用德摩根定律,得到:

Q=(A+B)+(A+B)=(A+B)+(A+B)Q = (\overline{A} + \overline{B})' + (A + B)' = (\overline{A} + \overline{B})' + (A + B)'

再次对两边取反,得到:

Q=((A+B)+(A+B))=((A+B)+(A+B))Q = ((\overline{A} + \overline{B})' + (A + B)')' = ((\overline{A} + \overline{B})' + (A + B)')'

这个方程看起来可以用或非门实现。我们需要总共五个或非门(两个用于反相 AABB,一个用于 AABB 的或非,一个用于 A\overline{A}B\overline{B} 的或非,最后一个用于获得上述方程)。下图展示了使用或非门实现的异或门。

alt text

使用与非门实现异或门

现在我们来看看如何使用与非门实现异或门。为此,我们需要重新写一下上述异或门的布尔方程。

Q=AB+ABQ = A \cdot \overline{B} + \overline{A} \cdot B
Q=AB+AB+AA+BBQ = A \cdot \overline{B} + \overline{A} \cdot B + A \cdot \overline{A} + B \cdot \overline{B}
Q=(A+B)(A+B)Q = (A + B) \cdot (\overline{A} + \overline{B})
Q=(A+B)(A+B)=(A+B)(A+B)Q = (A + B) \cdot (\overline{A} + \overline{B}) = (A + B) \cdot (\overline{A} + \overline{B})

对上述方程的第二项应用德摩根定律,得到:

Q=(A+B)(AB)Q = (A + B) \cdot (\overline{A} \cdot \overline{B})

现在我们需要使用与非门实现这个电路。

Q=A(AB)+B(AB)=A(AB)+B(AB)Q = A \cdot (A \cdot B)' + B \cdot (A \cdot B)' = A \cdot (A \cdot B)' + B \cdot (A \cdot B)'

对两边取反,得到:

Q=(A(AB)+B(AB))=(A(AB)+B(AB))Q = (A \cdot (A \cdot B)' + B \cdot (A \cdot B)')' = (A \cdot (A \cdot B)' + B \cdot (A \cdot B)')
Q=(A(AB))(B(AB))=(A(AB))(B(AB))Q = (A \cdot (A \cdot B)')' \cdot (B \cdot (A \cdot B)')' = (A \cdot (A \cdot B)')' \cdot (B \cdot (A \cdot B)')'

最后,再次对两边取反。

Q=((A(AB)))((B(AB)))=((A(AB))(B(AB)))Q = ((A \cdot (A \cdot B)')')' \cdot ((B \cdot (A \cdot B)')')' = ((A \cdot (A \cdot B)')' \cdot (B \cdot (A \cdot B)')')'

这个方程看起来可以用与非门实现。我们需要总共四个与非门。下图展示了使用与非门实现的异或门。

alt text

使用与门、或门和与非门实现异或门

现在我们来看看如何使用与非门、与门和或门实现异或门。为此,我们需要重新写一下上述异或门的布尔方程。

Q=AB+ABQ = A \cdot \overline{B} + \overline{A} \cdot B
Q=AB+AB+AA+BBQ = A \cdot \overline{B} + \overline{A} \cdot B + A \cdot \overline{A} + B \cdot \overline{B}
Q=(A+B)(A+B)Q = (A + B) \cdot (\overline{A} + \overline{B})
Q=(A+B)(A+B)=(A+B)(A+B)Q = (A + B) \cdot (\overline{A} + \overline{B}) = (A + B) \cdot (\overline{A} + \overline{B})

对上述方程的第二项应用德摩根定律,我们得到:

Q=(A+B)(AB)Q = (A + B) (\overline{A B})

上述方程的第一项需要一个或门(OR Gate),第二项需要一个与非门(NAND Gate),最终方程可以通过一个与门(AND Gate)获得。

alt text

异或门的脉冲操作

2 输入异或门的脉冲操作如下图所示。

alt text

3 输入异或门

在某些情况下,我们需要具有超过 2 个输入的异或门。超过 2 个输入的异或函数被称为“奇函数”或“模 2 和”。3 输入异或门的布尔函数为:

Q=ABC=ABC+ABC+ABC+ABCQ = A \oplus B \oplus C = A \overline{B C} + \overline{A} B \overline{C} + \overline{A} \overline{B} C + A B C

3 输入异或门的逻辑符号和真值表如下所示。

3 输入异或门逻辑符号
alt text

3 输入异或门的真值表如下:

输入 A输入 B输入 C输出 Q
0000
0011
0101
0110
1001
1010
1100
1111

对于 3 输入异或门,当奇数个输入处于高电平时,输出为高电平。因此,3 输入异或门也被称为“奇函数异或门”。

常见的 TTL 和 CMOS 逻辑异或门集成电路(IC)

以下是一些常见的异或门集成电路(IC)。

IC 编号描述
4030四路双输入异或门
4070四路双输入异或门
7486四路双输入异或门
74LS86四路双输入异或门
741G86单路双输入异或门
74136四路双输入异或门,开路集电极输出
74386四路双输入异或门

在这些 IC 中,最流行的基于 TTL 逻辑的异或门集成电路是 74LS86,它是一个四路双输入异或门集成电路。对于基于 CMOS 逻辑的异或门集成电路,CD4030 四路双输入异或门集成电路是一个流行的选择。

7486 双输入异或门集成电路

IC 7486 是一款四路双输入异或门集成电路,即在一个封装内包含四个独立的双输入异或门。其引脚图和引脚说明如下所示:

alt text
引脚号描述
1第一个异或门输入 A
2第一个异或门输入 B
3第一个异或门输出 Y
4第二个异或门输入 A
5第二个异或门输入 B
6第二个异或门输出 Y
7接地
8第三个异或门输出 Y
9第三个异或门输入 A
10第三个异或门输入 B
11第四个异或门输出 Y
12第四个异或门输入 A
13第四个异或门输入 B
14正电源

异或门的应用

异或逻辑门在许多应用中都有使用。以下是一些例子。

用于加法器(加法) 我们可以设计单比特加法器(也称为半加器),它可以将两个比特相加并产生单比特输出。使用异或门设计的单比特加法器如下图所示。

alt text

例如,如果我们在二进制加法中将两个比特‘1’和‘1’相加,我们得到的答案是‘10’,而在十进制加法中我们得到 2。半加器的主要原理是,尾随和由异或门的输出实现,而进位比特由与门计算。

我们可以将许多单比特加法器电路级联起来,形成 nn 位加法器电路,以计算更长二进制数的和。

伪随机数生成 线性移位寄存器也被称为伪随机数生成器(PNRs)。为了生成随机数,我们将异或逻辑门以特定顺序排列,形成线性反馈移位寄存器。

相关性和序列检测 当所有输入均为高电平或低电平时,异或门能够产生低电平输入,即 0。当我们需要在长数据序列中查找特定的比特序列时,我们使用异或门来找到所需的数据比特序列。

在目标序列中找到所需的数据比特字符串的准确性是通过计算得到的 0 的数量来确定的。在许多通信设备中,如解码器和 CDMA 接收器,我们使用相关器,这些相关器用于从一组伪随机数序列中提取特定伪随机数序列的奇偶性。